Оценивает выражение.
Синтаксис Delphi:
function Evaluate (const ExprStr: string; ResultStr: PChar;
ResultStrSize: LongWord; out CanModify: Boolean;
AllowSideEffects: Boolean; FormatSpecifiers: PChar;
out ResultAddr: LongWord; out ResultSize, ResultVal: LongWord): TOTAEvalu;
Синтаксис C ++:
virtual TOTAEvaluateResult __fastcall Evaluate (const AnsiString ExprStr,
char * ResultStr, unsigned ResultStrSize, bool & CanModify, bool AllowSideEffects,
char * FormatSpecifiers, unsigned & ResultAddr, unsigned & ResultSize, unsigned &
ResultVal)
Описание
Evaluate оценивает выражение в контексте потока.
ExprStr - это текст выражения для оценки.
ResultStr - указывает на буфер, в котором должна храниться строка
результата.
ResultStrSize - это размер буфера ResultStr.
CanModify установлено значение true, если результат можно изменить.
AllowSideEffects - имеет значение true, если вы хотите разрешить
вызовы функций (включая средства доступа к свойствам)
во время оценки выражения.
FormatSpecifiers - указывает на строку спецификаторов формата для
форматирования результата.
ResultAddr - устанавливается на адрес результата, если выражение имеет
конкретный адрес, например, ExprStr-это имя переменной.
ResultSize - устанавливается равным размеру результата, когда
ResultAddr не равен нулю.
ResultVal - задан код ошибки: ноль для успеха и ненулевое значение
для ошибки или отложенного результата.
Возвращаемое значение может быть одним из следующих:
Значение Описание
-------------------------
erOK Успех
erError Ошибка при оценке выражения; проверьте ResultStr на
наличие сообщения об ошибке.
erDeferred требуется вызов функции в контексте потока.
По завершении оценки отладчик вызовет функцию
EvaluteComplete уведомителя потока.
ResultStr и другие выходные параметры не содержат значимых значений.